Central Docs
Catálogo Inicio

01. `struct` y layout

struct declara un agregado con campos independientes y layout nominal:

struct Header:
    version: uint16
    length: uint32

func read_header(header: Header) uint32:
    return header.length

Los campos se almacenan por separado y se acceden con header.version. Puedes obtener la dirección de un campo direccionable con $header.version:

@unsafe
func set_length(header *: Header, value: uint32) void:
    (header).length = value

El padding y la alineación siguen las reglas del backend salvo que se indique un decorador de layout. Un struct no es un mold: leer un campo no reinterpreta los bytes de otro campo.